// 数据校验中间件
const { validationResult } = require('express-validator')

module.exports = validations => {
  return async (req, res, next) => {
    // 根据验证规则依次校验数据
    await Promise.all(validations.map(validation => validation.run(req)))
    // 获取校验结果
    const errors = validationResult(req)
    if (errors.isEmpty()) {
      return next()
    }
    res.status(400).json({ error: errors.array() })
  }
}
